package main

import (
	"fmt"
	"time"
)

// 不要通过共享内存的方式进行通信 而是通过通信去给共享内存

func watch(p *int) {
	for true {
		if *p == 1 {
			fmt.Println("hello")
			break
		}
	}
}
func watchChan(p chan int) {
	if <-p == 1 {
		fmt.Println("hello world")
	}
}

// 无缓冲区的 管道 可以必须有人读 可以没人写 先读 除非有缓存
func main() {
	c := make(chan int, 0)
	go watchChan(c)
	c <- 1
	go watchChan(c)
	time.Sleep(time.Second * 5)
	//	c <- 1
	//	time.Sleep(time.Second)
}
